Building materials estimation

ABSTRACT

Using remote image acquisition, image processing, and computational systems and methods, it has become possible to obtain actual building dimensions that can be used to generate construction estimates for repairing or maintaining buildings. For example, actual roof dimensions can be used to provide a computer-based estimate of materials and/or materials overage needed. Instead of simply applying a generic overage percentage based on roof shape, a computer-based approach can take into account cut lines as a percentage of total roof area. The resulting computer-generated estimate is shown to be more accurate, less expensive, and faster than using a human on-site estimator.

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present patent application is a continuation of the patentapplication identified by U.S. Ser. No. 13/839,578, filed Mar. 15, 2013,the entire contents of which are hereby incorporated herein byreference.

BACKGROUND OF THE INVENTION Field of the Invention

This invention relates to automated systems and methods for estimationof building materials needed for construction or repair and, inparticular, to obtain more accurate calculation of materials for roofsor walls of buildings having complex architectural features.

Description of the Related Art

When a roof on a building needs to be repaired or replaced, typically aroofing company or an insurance company sends an estimator to thebuilding site to evaluate the cost of materials and labor to completethe work. Estimators may assess the shape of the roof, measure certainroof lines, and count the number of architectural features that the roofincludes, such as gables, hips, valleys, dormers, and the like. Once thedimensions and the shape are known, the estimator may price the roofingmaterial, for example, composition shingles, wood shingles, wood shakes,sheet metal, metal tiles, clay tiles, and the like. Based on the sizeand shape of the roof and the roofing material, a rough estimate can becalculated.

In addition to this estimate, a standard overage amount is calculated.This overage is called the “waste” in the roofing markets. The overageis usually within the range of about 5% to 25%, to account for wastedmaterials that must be cut and discarded.

It is important that some amount of overage be calculated in orderingroofing materials for a number of reasons. A first reason is that if theroof is nearly done and the roofing materials run out, then it isnecessary to have someone purchase and then deliver the additionalneeded roof material to the roofing site. This may take one to two daysand, if the roofing crew has a tight schedule, this may substantiallydelay the completion of the roof. In addition, if there is inclementweather, such as rain or snow, when the roof is incomplete, this maycause substantial damage to the structure which could have been avoidedhad sufficient roofing material been delivered initially. In addition,it is desirable that all the roofing material be delivered in a singledrop shipment. This can save considerable cost and time over multipledeliveries of roofing material as the roof is completed. Of course, iftoo much roofing material is ordered, then there is an additional costto the roof repair or replacement. While it would be possible to ensurethat sufficient roof material is provided by always ordering 25%-40%more than the calculated square area of the roof, this would result in asubstantial waste and discard of roofing material. This is becausetypically, when the roofing job is finished, all material left onsite isdiscarded. It is very difficult to return the unused material for futureuse at a different construction site. This would result in substantialadditional costs in transportation of the material, and potential damageto the roofing materials. Furthermore, a second buyer may not be willingto pay the full cost for roofing material which was delivered to a priorjob and not used. Accordingly, any amount of overage which is orderedand not used is usually discarded and results in lost money. It is,therefore, preferred to estimate as accurately as possible the exactamount of material truly needed to complete the roof job, thus beingassured that sufficient roof material is delivered in a first shipmentso that a second shipment of roofing material is not needed.

Estimates of roofing material overage depend very much on the skill andexperience of the roofing contractor who is ordering the roofingmaterial. In a straightforward example, the contractor who is orderingthe roofing material can simply add a percentage to the square footageof the roof. For example, if the roof is 2,200 sq. ft., the roofingcontractor can simply estimate that a 10% overage is needed to ensureproper coverage of the roof, and order 10% more than the actual squarefootage of the roof. Unfortunately, in some cases an additional 10% ofmaterial is insufficient to cover the roof, while in other cases therewill be significantly more than is needed, resulting in wasted roofingmaterial and more expense than is needed. Therefore, the skill of theroofing contractor and his personal judgment are significant factors indeciding how much additional roofing material is required in order toprovide an accurate estimate. In many cases, an experienced roofingcontractor will take into account the shape of a roof in trying to makean accurate estimate of the amount overage which is required. Forexample, a hipped roof may be assigned a standard 22% overage, while agable roof may be assigned a standard 10% overage. In general, the morelines a roof has, the more cuts a roofing contractor will believe isnecessary and the more waste will be generated. Thus, a geometricallycomplex roof tends to incur more waste than a basic roof.

There are additional factors, however, that determine a correct overagepercentage. One factor is the size of the roof. Smaller roofs requiremore material cuts as a percentage of the overall roof area. Therefore,a small roof tends to incur more wasted material than a large roof, on apercentage basis. Another factor is the size of the material usedrelative to the lengths of the roof lines. In a simplified example, ifthree-foot long roof shingles are used to cover nine lineal feet, thereshould be no waste. However, if the three-foot long shingles are used tocover ten lineal feet, two thirds of the last shingle will be cut andpotentially wasted. It is possible that cut portions may be re-used,depending on their size. Therefore, re-use is another factor thataffects the overage. In addition, different product types varysignificantly in their unit size. For example, while composite shinglesare typically 36 inches long and 12 inches high, wood shakes typicallymeasure 24 inches×6 inches. However, the exposed height for eitherproduct type, as required by building codes, is typically only 5 inches.Therefore, the type of material can greatly affect the actual amount ofmaterial wasted.

The conventional practice of roof estimation omits consideration of suchfactors (e.g., relative roof dimensions, materials used, and re-use) andfocuses only on roof shape. As a consequence, there has been a tendencyto over-estimate the overage required, which increases the cost to theconsumer (e.g., the homeowners or insurance companies who are paying forthe job). When many roof replacements are needed at once, for example,in the wake of a hurricane, earthquake, hail storm, flood, or othernatural disaster, the increased overage cost multiplies and becomes asignificant burden for building insurers.

In addition to repairs, design decisions for new construction areinfluenced by roof construction costs. Even though it may appear atfirst that one particular roofing material product is more expensivethan another, the final costs may be the same once the complexity of theroof geometry and the relationship of the geometry to the material unitdimensions is taken into account. To the extent that a construction costestimate, including overage estimates, is inaccurate, a consumer maymake an uninformed decision regarding roof type, roof materials, or evenoverall building design.

The result is that the accuracy of an overage estimate can depend verygreatly on the experience and skill of the roofing contractor, as wellas that individual's experience with the different types of roofingmaterials, the particular roofing material to be used for the currentjob, and whether the roofing contractor works for the homeowner, aninsurance company, a new builder, or a material supply company, (e.g.,Home Depot or Lowes).

The skill and experience of roofing contractors varies greatly from oneindividual to another and therefore it becomes very difficult to beassured that the correct amount of roofing material will be ordered witha sufficient overage to complete the roof as a single job, but not somuch overage that a large amount of roofing material is wasted.

For at least these reasons, an accurate method of overage estimation ofroof materials would benefit roof selection, building design, and roofrepair/replacement.

BRIEF SUMMARY

Recently, it has become possible to improve the accuracy of roofmeasurements through remote image acquisition, using a computer-basedroof estimation system. Thus, it is now possible to obtain actual roofdimensions and generate a roof estimation report without relying on ahuman estimator to be present at a building site. Even if a building issignificantly damaged, satellite photos or aerial images saved in adatabase can provide accurate views of the building as it was, prior toa damage incident. Furthermore, if two or more current or previous viewsof the same roof are available, for example, an orthogonal (top plan)view and at least one oblique (perspective) view, a 3D image of the roofcan be computer-generated. Such a 3D rendering allows obtaining actualdimensions of a complex roof that can be used to accurately calculatematerial costs. Such methods are described in U.S. Pat. Nos. 8,088,436and 8,170,840.

As described below, actual roof dimensions can then be used to provide afully computer-generated estimate of the material overage needed.Instead of simply applying a generic percentage based on roof shape,this computer-based approach can take into account more of the relevantfactors, including the number of roof lines as a percentage of totalroof area. The resulting computer-generated estimate is shown to be moreaccurate, less expensive, and faster than using a human on-siteestimator. A computational method for estimating building materialsoverage can be summarized as including the acts of receiving a data setderived from image data of a roof; extracting linear dimensions of eachtype of roof feature (e.g., number of linear feet of ridges, rakes,eaves, valleys, flashing, and the like), and accumulating a sum oflineal feet for each feature type which corresponds to one or more cutlines; optionally computing an estimate of construction materialsneeded; computing a materials overage estimate; receiving a selectedproduct unit size; adjusting the materials overage estimate based on theselected product; and outputting the overage estimate to a reportgeneration engine.

Embodiments of a method of computing a materials overage amount includea model that takes into account different worst case waste factors forthe amount and type of each roof feature present; and a calculation thattakes into account actual waste incurred during installation of thebuilding material.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computing system for practicingembodiments of a roofing material overage estimation method presentedherein, according to one embodiment.

FIG. 2A is an exemplary isometric view showing geometry of a basichipped roof.

FIG. 2B is an exemplary isometric view showing geometry of a basicgabled roof.

FIG. 2C is an exemplary isometric view showing geometry of a roof thatcombines different features.

FIG. 3A is an exemplary perspective (oblique) view of a complex roof,derived from an aerial photograph.

FIG. 3B is an exemplary top plan (orthogonal) view of the complex roofshown in FIG. 3A, derived from an aerial photograph.

FIG. 4 is a map of the complex roof shown in FIGS. 3A and 3B, showingroof dimensions obtained by a computer-based building structureestimation system.

FIG. 5 is a schematic diagram of a side of an exemplary roof, segmentedto facilitate an overage calculation as described herein.

FIG. 6 is a schematic diagram of the side of the exemplary roof shown inFIG. 5, including waste material that would be cut during installation.

FIGS. 7 and 8 are spreadsheets that illustrate a method of computing amaterials overage amount by applying weighting factors to accumulatedfeature dimensions of a roof, as described herein.

FIG. 9 is a top plan (orthogonal) view of a standard hip-cross hip roofused as an example to illustrate a roofing material overage estimatedescribed herein.

FIG. 10 is a top plan (orthogonal) view of a standard gable roof used asan example to illustrate the roofing material overage estimate describedherein.

FIG. 11 is a top plan (orthogonal) view of a standard hip roof used asan example to illustrate the roofing material overage estimate describedherein.

FIG. 12 is a top plan (orthogonal) view of a single gable-50% crossgable added roof used as an example to illustrate the roofing materialoverage estimate described herein.

FIG. 13 is a flow diagram showing steps in a computer-based method ofroofing material overage estimation that can be performed by thecomputing system 100 shown in FIG. 1.

DETAILED DESCRIPTION

Embodiments described herein provide enhanced computer- andnetwork-based methods, techniques, and systems for building structureestimation employing perspective imagery from independent sources.

FIG. 1 is an example block diagram of a computing system 100 forpracticing embodiments of the statistical point pattern matching methoddescribed herein, and for practicing embodiments of a building structureestimation system based on the point pattern matching, according to oneembodiment.

One or more general purpose or special purpose computing systems may beused to implement the computer- and network-based methods, techniques,and systems for point pattern matching computation described herein andfor practicing embodiments of a building structure estimation systembased on the point pattern matching. More specifically, the computingsystem 100 may comprise one or more distinct computing systems presentat distributed locations. In addition, each block shown may representone or more such blocks as appropriate to a specific embodiment or maybe combined with other blocks. Moreover, in one example embodiment, thevarious components of a Building structure estimation system 114 mayphysically reside on one or more machines, which use standardinter-process communication mechanisms (e.g., TCP/IP) to communicatewith each other. Further, the Building structure estimation system 114may be implemented in software, hardware, firmware, or in somecombination to achieve the capabilities described herein.

Examples of computing systems and methods to obtain a roof report areshown and described in detail in U.S. Pat. Nos. 8,078,436 and 8,170,840and these can be used as one component of the present embodiment, aswell as other roof report generation systems. For completeness, onepotential system for creating such a report will be described herein asfollows.

In the embodiment shown, the computing system 100 comprises a computermemory (“memory”) 102, a display 104, one or more Central ProcessingUnits (“CPU”) 106, Input/Output devices 108 (e.g., keyboard, mouse,joystick, track pad, CRT or LCD display, and the like), othercomputer-readable media 110, and network connections 112. A buildingstructure estimation system 114 is shown residing in the memory 102. Inother embodiments, some portion of the contents or some or all of thecomponents of the building structure estimation system 114 may be storedon and/or transmitted over the other computer-readable media 110. Thecomponents of the building structure estimation system 114 preferablyexecute on one or more CPUs 106 and generate roof estimate reports, asdescribed herein. Other code or programs 116 (e.g., a Web server, adatabase management system, and the like) and potentially other datarepositories, such as data repository 118, also reside in the memory102, and preferably execute on one or more CPUs 106. Not all of thecomponents in FIG. 1 are required for each implementation. For example,some embodiments embedded in other software do not provide means foruser input, for display, for a customer computing system, or othercomponents. Currently, some inputs to the building structure estimationsystem 114 are computer-generated, while other inputs may be enteredmanually to supplement machine-generated or machine-processed data.Further computerization of the building structure estimation system,including computerization of roof materials overage estimation is a goaladdressed by the method described herein, along with other methods.

In a typical embodiment, the building structure estimation system 114includes an image acquisition engine 120; a roof modeling engine 122; apoint pattern matching computation engine 124, and a roof materialscomputation engine 125 within, or as part of, the roof modeling engine122; a report generation engine 126, an interface engine 128, and a datarepository 130. Other and/or different modules may be implemented. Inaddition, the building structure estimation system 114 interacts via anetwork 132 with an image source computing system 134, an operatorcomputing system 136, and/or a customer computing system 138.Communication system 132 may utilize one or more protocols tocommunicate via one or more physical networks, including local areanetworks, wireless networks, dedicated lines, intranets, the Internet,and the like.

The image acquisition engine 120 performs at least some of the functionsdescribed herein, with respect to the processes described herein. Inparticular, the image acquisition engine 120 interacts with the imagesource computing system 134 to obtain one or more images of a building,and stores those images in the building structure estimation system datarepository 130 for processing by other components of the buildingstructure estimation system 114.

The roof modeling engine 122 performs at least some of the functionsdescribed with reference to FIGS. 2-13 below. In particular, the roofmodeling engine 122 generates a model based on one or more images of abuilding that are obtained from the building structure estimation systemdata repository 130 or directly from the image source computing system134. As noted, model generation may be computer-assisted, based on atleast some inputs received from the operator computing system 136.

In addition, at least some aspects of the model generation may beperformed by microprocessor-based devices. In particular, to generate a3D model, the roof modeling engine 122 may use output from the pointpattern matching computation engine 124 which employs variationalanalysis to compute a point-to-point probability spread function. Thepoint-to-point probability spread function can be used to estimate whichindividual points on one image of the building most likely matchcorresponding points on another image of the building (i.e., the pointpattern matching computation engine endeavors to “optimize” pointmatching associations). This estimation may be based on adaptivepredominance voting probabilities generated from shape pattern matches.The shape pattern matches can be created by comparing combinations ofpoints on an orthogonal view of the building with specific other pointson an oblique view of the building, and as further described herein.

Such computerized and/or computer-assisted techniques are furtherdescribed with respect to FIGS. 2-13 below. After the roof modelingengine 122 generates a model, it can store the generated model in thebuilding structure estimation system data repository 130 for furtherprocessing by other components of the building structure estimationsystem 114.

The report generation engine 126 generates roof reports based on modelsstored in the building structure estimation system data repository 130.Generating a roof report may include preparing one or more views of a 3Dmodel of the roof, annotating those views with indications of variouscharacteristics of the model, such as dimensions of roof features (e.g.,ridges, valleys, gables, hips, and the like), slopes of sections of theroof, calculated surface areas of sections of the roof, etc. In someembodiments, the report generation engine 126 facilitates transmissionof roof measurement information that may or may not be incorporated intoa roof estimate report. For example, the report generation engine 126may transmit roof measurement information based on, or derived from,models stored in the building structure estimation system datarepository 130. Such roof measurement information may be provided to,for example, third-party systems that generate roof estimate reportsbased on the provided information.

The interface engine 128 provides a view and a controller thatfacilitate user interaction with the building structure estimationsystem 114 and its various components. For example, the interface engine128 may implement a user interface engine. The user interface engine mayprovide an interactive graphical user interface (GUI) that can be usedby a human user operating the operator computing system 136 to interactwith, for example, the roof modeling engine 122, to perform functionssuch as specifying regions of interest for computer-based roofdetection, specifying and/or identifying specific points on images ofbuildings, etc. In at least some embodiments, access to thefunctionality of the interface engine 128 is provided via a Web server,possibly executing as one of the other programs 116.

In some embodiments, the interface engine 128 provides programmaticaccess to one or more functions of the building structure estimationsystem 114. For example, the interface engine 128 provides aprogrammatic interface (e.g., as a Web service, static or dynamiclibrary, etc.) to one or more roof estimation functions of the buildingstructure estimation system 114 that may be invoked by one of the otherprograms 116 or some other module. In this manner, the interface engine128 facilitates the development of third-party software, such as userinterfaces, plug-ins, adapters (e.g., for integrating functions of thebuilding structure estimation system 114 into desktop applications,Web-based applications, mobile device applications, embeddedapplications, etc.), and the like. In addition, the interface engine 128may be, in at least some embodiments, invoked or otherwise accessed viaremote entities, such as the operator computing system 136, the imagesource computing system 134, and/or the customer computing system 138,to access various roof estimation functionality of the buildingstructure estimation system 114.

The building structure estimation system data repository 130 storesinformation related to the roof estimation functions performed by thebuilding structure estimation system 114. Such information may includeimage data, model data, and/or report data. Furthermore, the datarepository 130 may include information related to computerized roofdetection and/or image registration. Such information includes, forexample, historical image data. In addition, the building structureestimation system data repository 130 may include information aboutcustomers, operators, or other individuals or entities associated withthe building structure estimation system 114.

In an example embodiment, components/modules of the building structureestimation system 114 can be implemented using standard programmingtechniques. For example, the building structure estimation system 114may be implemented as a “native” executable running on the CPU 106,along with one or more static or dynamic libraries. In otherembodiments, the building structure estimation system 114 can beimplemented as instructions processed by a virtual machine that executesas one of the other programs 116. In general, a range of programminglanguages known in the art may be employed for implementing such exampleembodiments, including representative implementations of variousprogramming language paradigms, including but not limited to,object-oriented languages (e.g., Java, C++, C#, Matlab, VisualBasic.NET, Smalltalk, and the like), functional languages (e.g., ML,Lisp, Scheme, and the like), procedural languages (e.g., C, Pascal, Ada,Modula, and the like), scripting languages (e.g., Perl, Ruby, Python,JavaScript, VBScript, and the like), and declarative languages (e.g.,SQL, Prolog, and the like). Portions of the building structureestimation system 114, including the roof materials computation engine125, may simply be implemented as files or macros within a spreadsheetprocessing program such as, for example, Microsoft Excel™

The embodiments described above may also use well-known synchronous orasynchronous client-server computing techniques. However, the variouscomponents may be implemented using more monolithic programmingtechniques as well, for example, as an executable running on a singleCPU computer system, or alternatively decomposed using a variety ofstructuring techniques known in the art, including but not limited to,multiprogramming, multithreading, client-server, or peer-to-peer,running on one or more computer systems each having one or more CPUs.Some embodiments execute concurrently and asynchronously, andcommunicate using message passing techniques. Equivalent synchronousembodiments are also supported by a building structure estimation systemimplementation. Also, other functions could be implemented and/orperformed by each component/module, and in different orders, and bydifferent components/modules, yet still achieve the functions of thebuilding structure estimation system 114.

In addition, programming interfaces to the data stored as part of thebuilding structure estimation system 114, such as in the buildingstructure estimation system data repository 130, can be available bystandard mechanisms such as through C, C++, C#, and Java APIs; librariesfor accessing files, databases, or other data repositories; throughscripting languages such as XML; or through Web servers, FTP servers, orother types of servers providing access to stored data. For example, thebuilding structure estimation system data repository 130 may beimplemented as one or more database systems, file systems, memorybuffers, or any other technique for storing such information, or anycombination of the above, including implementations using distributedcomputing techniques.

Also, the example building structure estimation system 114 can beimplemented in a distributed environment comprising multiple, evenheterogeneous, computer systems and networks. For example, in oneembodiment, the image acquisition engine 120, the roof modeling engine122, the report generation engine 126, the roof materials computationengine 125, the interface engine 128, and the data repository 130 areall located in physically different computer systems. In anotherembodiment, various modules of the building structure estimation system114, including the point pattern matching computation engine 124, arehosted each on a separate server machine and are remotely located fromthe tables which are stored in the data repository 130. Also, one ormore of the modules may themselves be distributed, pooled or otherwisegrouped, such as for load balancing, reliability or security reasons.Different configurations and locations of programs and data arecontemplated for use with techniques of described herein. A variety ofdistributed computing techniques are appropriate for implementing thecomponents of the illustrated embodiments in a distributed mannerincluding, but not limited to, TCP/IP sockets, RPC, RMI, HTTP, WebServices (XML-RPC, JAX-RPC, SOAP, and the like).

Furthermore, in some embodiments, some or all of the components of thebuilding structure estimation system 114 are implemented or provided inother manners, such as at least partially in firmware and/or hardware,including, but not limited to, one or more application-specificintegrated circuits (ASICs), standard integrated circuits, controllers(e.g., by executing appropriate instructions, and includingmicrocontrollers and/or embedded controllers), field-programmable gatearrays (FPGAs), complex programmable logic devices (CPLDs), and thelike. Some or all of the system components and/or data structures mayalso be stored (e.g., as software instructions or structured data) on acomputer-readable medium, such as a hard disk, a memory, a network, or aportable media article to be read by an appropriate drive or via anappropriate connection. The system components and data structures mayalso be stored as data signals (e.g., by being encoded as part of acarrier wave or included as part of an analog or digital propagatedsignal) on a variety of computer-readable transmission mediums, whichare then transmitted, including across wireless-based andwired/cable-based mediums, and may take a variety of forms (e.g., aspart of a single or multiplexed analog signal, or as multiple discretedigital packets or frames). Such computer program products may also takeother forms in other embodiments. Accordingly, embodiments of thisdisclosure may be practiced with other computer system configurations.

FIG. 2A shows a simple hipped roof 200. Architectural features of thesimple hipped roof 200 include eaves 202, a ridge 204, hip sides 205,hip 206, and hip ends 208. The eaves 202 are lower edges of a roof thattypically overhang walls of a building, to which gutters may be attachedfor water drainage. The ridge 204 is generally the highest feature of aroof, from which roof sections slope downward. The sides 205 aretypically the largest sloping roof sections. The hips 206 are convexedges at which adjacent sections of the roof are joined. The hip ends208 are sloping roof sections at the ends of a roof or a roof portion.

FIG. 2B shows a simple gabled roof 210. Architectural features of thesimple gabled roof 210 include eaves 202, ridges 204, sides 205, valleys212, and gables 214. The valleys 212 are concave edges at which adjacentsections of the roof are joined. The gables 214 are pointy end featuresthat have sloping edges.

FIG. 2C shows a combination roof 216 that combines different types ofroof features. Architectural features of the combination roof 216include eaves 202, ridges 204, sides 205, hips 206, hip ends 208,valleys 212, gables 214, and one or more dormers 218, 219. The dormers218, 219 are features that project outward from a sloping roof andtypically hold a window. The dormer 218 includes a gable whereas thedormer 219 does not. The combination roof 216 exemplifies a relativelysmall but complex roof having a variety of different features, each ofwhich has associated with it various cut lines. Other features, inaddition to architectural features, that may influence roofing materialsneeded can include, for example, chimneys, skylights, vents, utilitypipes, or other features that puncture the roof and require additionalcuts. The combination roof 216 represents a particularly good target forapplication of a computer-based materials overage estimation method asdescribed herein.

FIGS. 3A and 3B show a large complex hipped roof. The large complexhipped roof is another example of a roof for which a computer-basedmaterials overage estimation method, as described herein, would be ofparticular benefit. FIG. 3A shows a perspective (oblique) view 220 a ofthe large complex hipped roof, while FIG. 3B shows an overhead(orthogonal) view 220 b of the large complex hipped roof, both of whichare derived from aerial photographs in this example. The imageacquisition engine 120 can receive such aerial photographs and save themin the data repository 130. The roof modeling engine 122 can thenprocess the different aerial views to provide data to the reportgeneration engine 126. The report generation engine 126 can then outputa roof report 224 that contains calculated measurements of rooffeatures. Such computer-generated roof feature measurements aretypically accurate to within 1%-2%.

An example of such a roof report 224, for the exemplary large complexhipped roof, is shown in FIG. 4, in which measurements of roof featurelengths are expressed in feet. For example, the length of the ridge 204as indicated is 18 feet, and the length of the eave 202 as indicated is20 feet. Such roof reports 224 containing roof feature measurements arecurrently available to consumers by special order. The roof featuremeasurements are inputs to the materials overage estimation methoddescribed herein. Alternative methods of obtaining roof featuremeasurements as inputs to the materials overage estimation methoddescribed herein include measuring some or all of the roof features byother means e.g., by hand using a tape measure or other type of ruledtool, a laser measurement device, or another remote measurement tool.Additionally or alternatively, some or all roof feature lengths can beestimated by guessing.

Once a set of roof feature measurements is available, use of thecomputer-based materials overage estimation method as disclosed hereincan commence. A materials overage estimation method, having accuracy asan objective can be understood by considering the following examples,with reference to FIGS. 5-6. FIG. 5 shows an exemplary plane section 226of a roof, e.g., a side of a gable 214. The roof can be covered with anyroofing material (e.g., shingles, tiles, shakes, or the like), however,the present examples will assume the material is standard composite3-tab shingles, which are the most common material currently used in theUnited States. The plane section 226 is bordered by a ridge 204 having atotal length Ridge=A+x and a rake 207 having a total length Rake=B+y.The area of the plane section 226 is therefore (A+x) x(B+y)=AB+Ay+Bx+xy. The portion of the ridge 204 of the plane section 226represented by A is that which accommodates an integer number of roofingmaterial units (i.e., 36-inch long shingles) and the portion representedby x is covered by a partial shingle. Likewise, the portion of the rake207 of the plane section 226 represented by B is that which accommodatesan integer number of 12-inch wide shingles, and the portion representedby y is covered by a partial shingle. It is noted that standard buildingcodes require a 7-inch vertical overlap so that only 5 inches of the12-inch shingle width is exposed. Therefore the effective width of eachshingle along the length of the rake 207 is only 5 inches. Thus, forexample, y=3 inches=0.6 shingles, and x=18 inches=0.5 shingles. Ingeneral A, in units of shingles, is the quotient of Ridge/36 inches andB, in units of shingles, is the quotient of Rake/5 inches. Then X, inunits of shingles is the remainder of Ridge/36 inches and Y, in units ofshingles, is the remainder of Rake/5 inches. It is noted that theeffective conversion factor from square shingles to square feet is

(36×5) in²/shingle×1 ft²/144 in²=1.25 ft²/shingle.  (1)

With the above definitions, a number of wasted shingles for roofing theplane section 226 can be calculated as follows, with reference to FIG.6. First, it is noted that shingles are typically laid in horizontalrows, starting from an eave, and working upward toward the ridge, sothat each row of shingles is overlapped by the next row above it. Thenumber of columns of shingles needed along the ridge 204 is (A+1) andthe number of rows of shingles needed along the rake 207 is (B+1). If nomaterial were re-used, the area of rake waste 228 would be

RaW=(1−x)(B+1)*1.25 ft²,  (2)

wherein (1−x) is the fraction of the last shingle of each row that isleft over and wasted, and the area of ridge waste 230 is

$\begin{matrix}\begin{matrix}{{RgW} = {{\left( {1 - y} \right)\left\lbrack {\left( {A + 1} \right) - \left( {1 - x} \right)} \right\rbrack}*1.25\mspace{14mu}{ft}^{2}}} \\{= {\left( {1 - y} \right)\left( {A + x} \right)*1.25\mspace{14mu}{{ft}^{2}.}}}\end{matrix} & (3)\end{matrix}$

Because the ridge waste 230 is made up of narrow strips along eachshingle, it is typically considered that there is no opportunity forre-use. Therefore, RgW is fixed. If x and y are each 0.5, the ridgewaste 230 is approximately equal to A/2.

Accordingly, by making use of equations (2) and (3), a maximum valuethat might end up as waste can be calculated and be more accurate than asimple estimate, since it takes into account the rake length, the ridgelength and particular planar sections. It also recognizes that each flatsection of a roof must be treated individually, as a single section,since a new row of shingles must be started at the bottom of each eaveand a new column of shingles must be started along the edge of eachrake. Thus, these equations take into account a more accurateunderstanding of the actual roof geometry, which includes multiplesections, each section treated as an individual roof segment.

Of course, to the extent possible, material on one section of the roofwhich has a sufficient remainder in a partial shingle can be reused inanother section of the roof once the roofing is started. Normally, newshingles are used for the first row of shingles along the bottom of aneave. Depending on the type of roofing material, half shingles may belaid down as first base layer on top of a row of full shingles. As isknown in the roofing industry, the first row of three-tab shingles laidalong the eave may require that half of each shingle be attached to theroof and the other half of the shingle discarded in order to ensure aleak-proof roof and proper coverage. Accordingly, material waste fromone section of the roof may be used to start the eave section on anothersection of the same roof. In addition, while it is common to start acolumn of shingles as new shingles along a rake, it is possible to reusesome percentage of a shingle in the middle of roofing a section of aparticular roof. Accordingly, if we assume that, to the extent possible,partial shingles will be reused, then the amount of waste from eachsection can be calculated more accurately and also with substantiallymore efficient use of materials, as will now be explained.

The formulas (2) and (3) together can be used to calculate a maximumvalue for material waste, assuming no re-use. The overage in square feetfor the plane section 226 can be approximated by

RgW+RaW=(A+B)/2*1.25.  (4)

In practice, it can be assumed that a partial shingle, or remnant (1−x)is not re-used if it is less than half a shingle (i.e., less than 18inches long), or, equivalently, if x>0.5. If the remnant (1−x) isgreater than half a shingle (x<0.5), the remnant is typically re-used.If the re-usable portion is designated as R, then the rake waste isreduced by the re-useable portion according to:

RaW=[(1−x)(B+1)−R]*1.25.  (5)

A general formula for the rake waste RaW, wherein

1/(N+1)<X<1/N; N>=2  (6)

can be postulated as

RaW={[1/(N−x)](B+1)+(1/N)[N−(B+1)mod N]}*1.25.  (7)

Equation (7) takes into account a rippling effect of re-use, i.e., a)re-using a remnant generates a different-sized remnant at the end of thenext row, and this effect continues to propagate through the variousrows; and b) remnants smaller than half a shingle are discarded, whilethose greater than half a shingle are re-used. The first term inequation (7) represents the portion of each shingle that is unusable tocomplete other rows, and the second term in equation (7) representswaste incurred by extra pieces without the chance for re-use when thereare no more rows left to cover. With re-use, then, the formulas (3) and(7) together can be used to calculate the overall material waste.

Once RgW and RaW are known, the overall percent waste is given by

W=(RaW+RgW)/plane area=(RaW+RgW)/[(A+x)(B+y)].  (8)

Equation (8) is one method of carrying out the step of computing amaterials overage amount that is based on actual practice.

As has been described, with the use of the assumptions in equation (7),and taking into account equation (3), the actual overage needed can becalculated with a high degree of accuracy, and much more accurately thana roofing contractor's estimate based on his experience. Thus, a roofermay, in his experience, estimate an overall roofing waste of 15%,however, using the equations, the roofing waste may actually be closerto 4% for the roof as a whole. Thus, the correct amount of buildingmaterial for the roof can be more accurately purchased and yet ensurethat there is sufficient amount provided to roof the entire buildingwith a single delivery of roofing material.

There are different techniques by which the overage can be calculatedbesides that which has been explained with respect to equations (1)-(8).Namely, a different technique may be used, based on applying weightingfactors to different types of features in a roof, as will now beexplained a second embodiment.

In a second embodiment, a weighting factor can be applied on afeature-by-feature basis, using values in Table I:

TABLE I Worst Case Loss Factors Eave  0/ft Rake 0.5/ft Ridge 1.0/ft Hip1.67/ft  Valley 1.67/ft  Wall Transition 0.5/ft

The worst case loss factors shown in Table I were developed empiricallyby considering real-world roof laying practices for each of thedifferent roof features. Each of the weighting factors shown in Table Ican be considered as a roofing constant, k, which varies depending onthe particular features of the roof. Each roof has a certain cumulativelength of each feature. For example, a total length of eaves, a totallength of rakes, or a total length of ridges. In addition, each roofwill have a certain cumulative length for each of a hip, a valley, and awall transition. These different types of roof features each have theirown k factor by which the length should be multiplied to take intoaccount an amount of waste that is usually associated with a worst caseloss of roofing material based on the cumulative length, in lineal feet,of each feature type that is present in a particular roof. The k factorincludes within it a dimension of ft⁻¹. For example, the hip k factor is1.67/ft.

In performing these calculations, a starting area is the foot print sizeof the building as a whole, not that of an individual roof section. Forexample, suppose the building is small and has a footprint of 20 ft.×40ft. As will be appreciated, most homes are larger than 20 ft.×40 ft. andlarger homes are shown in the example of FIG. 7 and, therefore, thiswill provide a good starting point with the understanding that mosthomes will have footprints larger than those shown in the spreadsheet(FIGS. 7-8). The spreadsheet is, therefore, only provided as an exampleof the inventive calculation having been carried out for certainbuilding footprints in the range from 20 ft.×40 ft. to 40 ft.×80 ft. Ascan be appreciated, a building which has a footprint of 20 ft.×40 ft.will have a roof which is substantially larger thereon, because the sizeof the roof must take into account an overhang at each eave or rake aswell as the pitch of the roof. The k factors shown in Table 1,accordingly, take into account the worst case loss factors, with furtheraccommodation for the roof pitch, as shown in FIGS. 7 and 8.

Consider the simple gabled roof example shown in FIGS. 5-6 and FIG. 10,in which the building footprint is 40′×80′ and the roof has no hips,valleys, or wall transitions. Using the exemplary measurements from FIG.10, a waste percentage value can be calculated by applying the worstcase loss factors as follows (see also, line 4 of the spreadsheet shownin FIG. 7):

W={0*Eaves+0.5*Rakes+1.0*Ridges+1.67*Hips+1.67*Valleys+0.5*WallTransitions}*1.25 ft²=155.90 sq ft, or 4.36%.  (9)

If the building footprint is 20′×40,′ Equation (9) becomes:W={0*80+0.5*44.72+1.0*40+1.67*0+1.67*0+0.5*0}*1.25 ft²=77.95 ft², or8.72%. It is noted that in FIGS. 7-8, the rake length is modified toaccount for the pitch of the roof, giving a value of 44.72 instead of40.

It can be seen from the spreadsheet examples shown in FIGS. 7, 8, and 9that the waste percentage varies greatly with the feature dimensions,and therefore the common practice of applying a standard factor basedsolely on one feature used to describe the overall roof shape, such as“gabled roof” or “hipped roof” is insufficient to produce an accurateestimate. The standard percentage ignores the fact that most roofs arecombination roofs that are not characterized by just one shape. Whereas,when worst case loss factors for each feature type are weighted byactual feature dimensions as in Equation (9), a more accurate estimatecan be obtained.

It is noted that the worst case loss factors listed in Table I can berefined over time to more closely match real data, thereby furtherimproving the accuracy of the model. Such real data can change as thebuilding industry acquires different labor practices, new tools, newbuilding materials, and the like. The calculated method can be testedperiodically by processing thousands of example roof reports containingmeasurement data, and comparing the estimated waste material with actualvalues recorded by contractors or insurance carriers. Therefore, theworst case loss factors are, thus, not limited to particular values andcan be updated, and calibrated against real data, as needed. Moreover,additional loss factors can be added to the model as new roof featuresare designed.

Additionally, the computer-based materials overage estimation method canaccount for differences in building materials. For example, the amountof material exposed on a wood shake as compared with a three-tab shingleaffects certain factors in the calculation, such as the square footageconversion factor, as well as the worst case loss factors. Thespreadsheets presented as illustrations take into account the buildingmaterials used. For example, the spreadsheet shown in FIG. 7 applies to3-tab shingles having 1.25 square feet of exposed surface area, whilethe spreadsheet shown in FIG. 8 applies to dimensional type shingleshaving 1.2 square feet of exposed surface area. As previously noted,that the spreadsheet calculations define ‘size’ as the buildingfootprint, not the roof size; “squares” is a term used to describe thetotal roof area/100; and the rake and perimeter measurements areincreased to account for the pitch (steepness) of the roof that has beendetermined previously. For example, a pitch of 6 is shown in the tablesof FIGS. 7 and 8.

FIGS. 9-12 present results for examples of actual roofs that have beentested using the materials overage estimation system according toEquation (9). Actual roof feature dimensions for each roof have beenextracted from a roof report that resulted from analysis of aerial imagedata by the roof modeling engine 122. The different roof features(ridges, hips, etc) are recognized by the roof modeling engine 122, andtheir dimensions can be accumulated as a sum in units of, for example,lineal feet.

FIG. 9 shows an exemplary “standard hip-cross-hip” type of hipped roof231 and an accompanying spreadsheet excerpt 232 that implements Equation(9) for illustrative purposes. The hipped roof 231 has six faces 234a-234 f (collectively, 234) with a total roof area of 4472.14 squarefeet. The hipped roof 231 includes six eaves 236 a-236 f (collectively236), two ridges 238, two hip ends 240, and one valley 242. Afterextracting feature dimensions from a roof report, sums of each type offeature are accumulated, e.g., “hip measurement 150 lineal feet” 243.The sum total of 150 lineal feet of hip lines is then multiplied by theworst case waste factor for hips (1.67/ft.). The same procedure iscarried out for the other architectural roof features, e.g., ridges,valleys, etc, wherein each feature corresponds to one or more cut linesat which the roofing material must be cut. Applying Equation (9) yieldsa total waste in square feet of 450.53 square feet, which, as apercentage of the total roof area is 450.53/4472*100=10.07%. Thestandard industry waste percentage used today applied in the prior artto hipped roofs is 14%. Thus, use of the inventive calculation wouldresult in a smaller overage allowance paid to the contractor.

FIG. 10 shows an exemplary single gable roof 244. The single gable roof244 has two faces 248 a, 248 b (collectively 248) with a total roof areaof 3577.71 square feet. The single gable roof 244 includes two eaves 250a, 250 b (collectively 250), one ridge 252, and four rakes 254 a, 254 b,254 c, 254 d (collectively 254). Applying Equation (9) yields a totalwaste in square feet of 155.83 which, as a percentage of the total roofarea is 4.36%. The standard industry waste percentage applied in theprior art to single gable roofs is 5%. Thus, use of the calculationwould result in a slightly lower overage allowance.

FIG. 11 shows an exemplary single hip roof 256. The single hip roof 256has four faces 260 a-260 d with a total roof area of 3577.71 square feet(the same total roof area as the single gable roof shown in FIG. 10).The single hip roof 256 includes four eaves 262 a-262 d, one ridge 264,and four hips 266 a-266 d, and two hip ends 268. Applying Equation (9)yields a total waste in square feet of 300.5 which, as a percentage ofthe total roof area is 8.4%. The standard industry waste percentageapplied in the prior art to single hip roofs is 14%. Thus, use of thecalculation would result in a much lower overage allowance paid to thecontractor. FIG. 12 shows an exemplary combination roof 269 and anaccompanying spreadsheet data 270 that implements Equation (9). Thecombination roof 269 has five faces 272 a-272 e with a total roof areaof 4472.14 square feet (the same total roof area as the standardhip-cross hip roof shown in FIG. 9). The combination roof 269 includesfour eaves 274 a-274 d, two ridges 276 a, 276 b, six rakes 278 a-278 f,and two valleys 280 a, 280 b. Applying Equation (9) yields a total wastein square feet of 359.0, which, as a percentage of the total roof areais 8.0%. The standard industry waste percentage applied in the prior artto combination roofs is 14%. Thus, use of the calculation would resultin a smaller overage allowance paid to the contractor.

Thirty-two real examples were used to test and validate thecomputer-based material overage estimation model described herein.Although none of the above exemplary roofs shown in FIGS. 9-12 areparticularly complex, a similar calculation for the complex roof shownin FIG. 4, for example, becomes computationally much more demanding. Theinventive material overage estimation method presented herein istherefore intended to be implemented, not necessarily as a spreadsheetapplication, but as part of the roof modeling engine 122 which feeds thereport generation engine 126 to produce a roof report as a product fordistribution to consumers. In one embodiment, this calculation will notnormally take the form of a spreadsheet since this would be very largeand complex for most roofs.

As previously mentioned, the party for whom the overage estimation isbeing performed may affect the benefits to be obtained by an accuratecalculation. In one embodiment, the overage estimation is done at therequest of an insurance company which is paying to replace a roof thathas been damaged, such as by a hail storm or by a hurricane. Theinsurance company is interested in ensuring that sufficient material isprovided so that the roof can be fully reconstructed in a single sessionand that no additional roof material needs to be delivered, sinceadditional deliveries would cost more time and money to the insurancecompany. On the other hand, the insurance company does not want tooverpay for roofing material and substantially overpay a contractor forroofing material which he does not purchase or use on this job and whichhe may save or take and use on another job. Accordingly, as can be seenherein, the roofing calculations are substantially more accurate as tothe actual materials required and, thus, saves the customer or insurancecarriers a significant amount of money over what they would actually payto the contractors. In some of the examples given in FIGS. 9-12, theinventive calculations result in an actual overage amount in the rangeof 8%-10%, whereas in many instances, the industry standard would askfor overages in amounts of approximately 14%-15%. Accordingly,substantial money is saved by the customer or insurance company inpurchasing the amount of roofing material need more accurately, withassurance that there will be sufficient material to finish the roofingjob in a single project delivery.

In some instances, the percentage as determined by the inventivecalculations are similar to those which would be determined by theindustry standard in the prior art. For example, in some cases, thecalculations yield a waste of approximately 4.5%, whereas the industrystandard would assume a waste of approximately 5%. In other instances,the saving is substantially more and, for very large roofs and for largenumbers of roofs, these savings can account a large amount of overallsavings and efficiency in the delivery of material and avoid thepurchase of unneeded roofing materials which were delivered to a site atwhich they will not be used.

In some instances, the person paying for the roofing job may be ahomeowner, in which case the roofing contractor can discuss directlywith the homeowner the desired calculation to be used in the ordering ofthe overage of material. The homeowner may wish to have either aslightly less or slightly greater overage calculation be performed, andthey may be willing to assume the risk that a second delivery ofmaterials may be needed.

Another significant benefit of the present inventive calculation is thatmaterials can be more efficiently delivered to a large number ofdifferent work sites without running out of materials. For example, whena large natural disaster strikes a particular area, such as HurricaneKatrina destroying many homes or Hurricane Sandy destroying the roofs ofmany homes, roofing material can become very scarce in a particulargeographical area, such as New Orleans or New York. In one instance, asthe result of a large hail storm in Oklahoma, within a few days allroofing materials within a 100 mile radius were used and none wereavailable. In order to obtain more roofing materials, it was required topay more than double the cost of the normal roofing supply materials andalso wait some time to have them shipped from a distant location. Withthe inventive calculation the amount of roofing material that actuallyneeds to be delivered to a construction site can be more accuratelydetermined so that excess roofing material is not delivered to a site atwhich it is not needed and instead can be delivered most efficiently atthose sites at which it is needed.

FIG. 13 summarizes steps in a comprehensive method 300 of computingbuilding materials overage in accordance with the embodiments describedabove.

At 302, image data of a building (e.g., a rooftop or other structuralelement of a building) can be acquired by the image acquisition engine120 from an independent source. The image data can then be processed bythe roof modeling engine 122 to create a model of the building or ofassociated structural elements. Such image data can include, forexample, image data acquired by sensors, airborne systems, orbital orsub-orbital systems, handheld systems, vehicular systems, otherground-based systems, or images accumulated and stored in the datarepository 130.

At 304, linear dimensions of architectural features can be extractedfrom the processed image data e.g., by the roof modeling engine 122.

At 306, sums of lineal dimensions of different types of features can beaccumulated in the roof modeling engine 122.

At 308, construction materials needed for building or repair can becomputed by the roof materials computation engine 125.

At 310, an overage estimate of additional construction materials neededcan be computed by the roof materials computation engine 125 to ensure asufficient quantity of materials.

At 312 and 314, if a different building material is selected, theoverage estimate can be received and adjusted to accommodate a differentproduct unit size which may result in a different exposed area ofproduct.

At 316, the overage estimate can be transferred to the report generationengine 126 for inclusion in an overall building estimate, or a reportdelivered to a customer such as a consumer, insurer, or contractor.

Alternatively or in addition, the computer-based material overageestimation method can be used as a planning tool in designing customhomes. For example, as a computerized set of architectural plans isupdated with different architectural features or materials, thecomputer-based material overage estimation model can compute the amountof wasted material and feed that amount into a total cost estimate forbuilding materials.

From the foregoing it will be appreciated that, although specificembodiments have been described herein for purposes of illustration,various modifications may be made without deviating from the spirit andscope of the present disclosure. For example, the methods, systems, andtechniques for estimating roofing materials overage discussed herein maynot be limited to the illustrated architectural structures, but may alsobe applicable to structural elements other than roofs, such as, forexample, exterior walls, interior walls, ceilings, flooring, and thelike. Furthermore, the methods and systems disclosed can be applied tomaterials estimation for 2D and 3D structures other than buildings, inother contexts or for other purposes. Such alternative applications mayinclude vehicles, elements of transportation infrastructure such asroads, bridges, tunnels, landscaping and structures used in landscaping,and the like. Also, the methods and systems discussed herein may employdifferent types of network protocols, communication media (optical,wireless, cable, etc.) and devices (such as wireless handsets,electronic organizers, personal digital assistants, portable emailmachines, game machines, pagers, navigation devices such as GPSreceivers, etc.). Further, the methods and systems discussed herein maybe utilized not only by roofers and builders, but also by solar panelinstallers, roof gutter installers, awning companies, HVAC contractors,general contractors, and/or insurance companies, and the like.

1. A computer system, comprising: one or more computer processors; and a non-transitory computer-readable medium storing software that when executed by the one or more computer processors causes the one or more computer processors to: determine an order amount of construction materials needed for construction or repair of a structural element of a building, the order amount including an overage amount of the construction materials that accounts for construction material waste, by: receiving image data associated with aerial photographs acquired by one or more remote sensors without relying on a human estimator to be present at the building; generating from the image data, a three-dimensional model of the structural element of the building by matching point patterns of an oblique view of the building with point patterns of an orthogonal view of the building; and generating from the three-dimensional model, the overage amount of the construction materials, the overage amount not based on a fixed overall overage percentage, and the overage amount at least partly based on: deriving building dimensions of the structural element and numbers and dimensions of architectural types of features of the structural element; cumulating lengths for each of the architectural types of features of the structural element; multiplying each of the cumulated lengths by a loss factor specific to a corresponding one of the architectural types of features of the structural element; summing the multiplied cumulated lengths to generate a total length; and multiplying the total length by a square footage conversion factor, the square footage conversion factor based on exposed surface area of the construction material, to produce the overage amount.
 2. The computer system of claim 1, wherein the order amount is further determined by: receiving a selected construction material product unit size; adjusting the overage amount based on product unit size compared to one or more surface areas of the structural element; and providing the adjusted overage amount.
 3. (canceled)
 4. The computer system of claim 1, wherein the structural element is a roof.
 5. The computer system of claim 1, wherein the construction materials include one or more of a shingle, shake, tile, metal sheet, slate, stone, or combinations thereof.
 6. The computer system of claim 1, wherein the structural element is a wall.
 7. The computer system of claim 1, wherein the aerial photographs are acquired by one or more of an airborne system, an orbital system, a sub-orbital system, or a vehicular system.
 8. A computer system, comprising: one or more computer processors; and a non-transitory computer-readable medium storing software that when executed by the one or more computer processors causes the one or more computer processors to: determine an order amount of construction materials needed for construction or repair of a roof of a building, the order amount including an overage amount of the construction materials that accounts for material waste, by: receiving a data set that includes image files of two different views of the roof acquired by one or more remote sensors, without relying on a human estimator to be present at the building; generating from the image files, a three-dimensional rendering of the roof by matching point patterns of a first, oblique view of the roof with point patterns of a second, orthogonal view of the roof; and determining from the three-dimensional rendering, the order amount of construction materials needed to construct at least a portion of the roof, the overage amount not based on a fixed overall overage percentage, by: deriving, from the three-dimensional rendering, roof dimensions and types and numbers of features of the roof; cumulating lengths of each of the features; multiplying each of the cumulated lengths by a loss factor specific to a corresponding one of the features; summing the multiplied cumulated lengths to generate a total length; and multiplying the total length by a square footage conversion factor, the square footage conversion factor based on exposed surface area of the construction materials.
 9. The computer system of claim 8, wherein the order amount is further determined by: adjusting the overage amount based on a construction material product unit size compared to one or more surface areas of the roof; and providing the adjusted overage amount.
 10. A computer system, comprising: one or more computer processors; and a non-transitory computer-readable medium storing software that when executed by the one or more computer processors causes the one or more computer processors to: determine an order amount of construction materials needed for construction of a structural element of a building, the order amount including an overage amount of the construction materials that accounts for material waste, by: generating a three-dimensional rendering of a structure by matching point patterns of an oblique view of the building with point patterns of an orthogonal view of the building the three-dimensional rendering derived from images acquired by one or more remote sensors without relying on a human estimator; extracting from the three-dimensional rendering, type, number, and linear dimensions of each of a plurality of feature types of geometric features; and determining the order amount of construction materials, in which the overage amount is not based on a fixed overall overage percentage and is based at least partly on: cumulating the linear dimensions for each of the feature types of the structural element; multiplying each of the cumulated linear dimensions by a loss factor specific to a corresponding one of the feature types; summing the multiplied cumulated linear dimensions to generate a total linear dimension; and multiplying the total linear dimension by a square footage conversion factor, the square footage conversion factor based on exposed surface area of the construction material.
 11. The computer system of claim 10, wherein the structural element is a roof of the building.
 12. The computer system of claim 10, wherein the building is an element of a transportation infrastructure.
 13. The computer system of claim 11, wherein the images of the building are acquired by one or more of an airborne system, an orbital system, a sub-orbital system, a handheld system, a vehicular system, or a ground based system.
 14. The computer system of claim 10, further comprising: receiving a selected product unit size; adjusting the overage amount based on the selected product unit size; and providing the adjusted overage amount.
 15. A computer system, comprising: one or more computer processors; and a non-transitory computer-readable medium storing software that when executed by the one or more computer processors causes the one or more computer processors to: determine an order amount of roofing materials needed for a roof of a building, including an overage amount of the roofing materials, by: receiving image data associated with at least one oblique aerial photograph of the roof and at least one orthogonal aerial photograph of the roof; generating a three-dimensional model of the roof from the image data, at least in part by using point pattern matching to estimate which individual points on the at least one oblique aerial photograph of the roof match corresponding points on the at least one orthogonal aerial photograph; extracting type, number, and linear dimensions of features of the roof from the three-dimensional model of the roof; determining a base amount of the roofing materials by calculating areas of planes of the roof from the linear dimensions; determining the overage amount of the roofing materials, the overage amount accounting for materials that will be cut and that will create discard materials, by: multiplying each of the linear dimensions of the features of the roof by a weighting factor indicative of real-world waste practices for the type of feature, wherein the weighting factor is based on two or more of shape of the roof, size of the roof, size of materials to be used relative to lengths of the roof, and type of materials to be used; summing the multiplied linear dimensions to generate a total linear dimension; and multiplying the total linear dimension by a square footage conversion factor, the square footage conversion factor based on exposed surface area of the roofing materials; and adding the base amount with the overage amount to produce the order amount of roofing materials.
 16. The computer system of claim 1, wherein generating the overage amount further comprises: determining an overage amount percentage relative to a total surface area of the structural element.
 17. The computer system of claim 8, wherein determining the order amount further comprises: determining an overage amount percentage relative to a total surface area of the roof.
 18. The computer system of claim 10, wherein determining the order amount further comprises: determining an overage amount percentage relative to a total surface area of the structural element.
 19. The computer system of claim 4, wherein the architectural types of features comprise one or more of: an eave, a rake, a ridge, a hip, a valley, and a wall transition.
 20. The computer system of claim 8, wherein the features of the roof comprise one or more of: an eave, a rake, a ridge, a hip, a valley, and a wall transition.
 21. The computer system of claim 11, wherein the feature types comprise one or more of: an eave, a rake, a ridge, a hip, a valley, and a wall transition. 